/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.mycompany.jsf2.dao;


import java.io.Serializable;
import java.util.List;

import org.hibernate.criterion.Criterion;

public interface IGenericDAO<T, ID extends Serializable> {

    public T buscaPeloID(ID id);

    public List<T> buscaTodos();

    public T salva(T entity);

    public T atualiza(T entity);

    public void exclui(T entity);

    public List<T> buscaListaPeloCriterio(Criterion... criterion);

    public T buscaUmPeloCriterio(Criterion... criterion);
}